import os
import pandas as pd

############################################################################
# conda install pandas openpyxl
# 提取本目录下，按照ip地址取名的所有xlsx文件的信息到同一个表格，并把ip地址列在最后
############################################################################

# 定义输入文件夹路径和输出文件路径
input_folder = './'
output_file = './file.xlsx'

# 初始化一个空的 DataFrame 来存储合并后的数据
combined_df = pd.DataFrame()

# 遍历输入文件夹中的所有 Excel 文件
for filename in os.listdir(input_folder):
    if filename.endswith('.xlsx') or filename.endswith('.xls'):
        # 提取 IP 地址（假设文件名格式为 "192.168.1.1.xlsx"）
        ip_address = filename.split('.xls')[0]
        
        # 读取 Excel 文件
        file_path = os.path.join(input_folder, filename)
        df = pd.read_excel(file_path)
        
        # 添加 IP 地址列
        df['IP Address'] = ip_address
        
        # 将当前文件的数据追加到 combined_df 中
        combined_df = pd.concat([combined_df, df], ignore_index=True)

# 将合并后的数据保存到新的 Excel 文件中
combined_df.to_excel(output_file, index=False)

print(f"合并完成，结果已保存到 {output_file}")